﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Crank.Core
{
    public class ChattyParser : ParserBase
    {
        protected override void StartExpression()
        {
            Console.WriteLine("New Expression Starting");
        }

        protected override void MentionEntity(string entity)
        {
            Console.WriteLine("Mentioned Entity: {0}", entity);
        }

        protected override void MentionAttribute(string attribute, bool? isRequired, bool isKey, bool isAuto)
        {
            Console.WriteLine("Mentioned Attribute: {0} Req {1} Key {2} Auto {3}", attribute, isRequired.HasValue ? isRequired.ToString() : "dunno", isKey, isAuto);
        }

        protected override void MentionAttributeType(string type)
        {
            Console.WriteLine("Mentioned Attribute Type: {0}", type);
        }

        protected override void MentionLink(string type)
        {
            Console.WriteLine("Mentioned Link of type: {0}", type);
        }

        protected override void Finished()
        {
            Console.WriteLine("Finished");
        }
    }
}
